$(function () {
    const form = layui.form;
    const layer = layui.layer;
    const laypage = layui.laypage;
    let query = {
        // 页码：必须从1开始
        pagenum: 1,
        // 每页显示多少条数据
        pagesize: 2
    }
    function loadUserList() {
        // 发送ajax请求获取数据
        $.ajax({
            type: 'GET',
            url: 'admin/users',
            data: query,
            success: function (res) {
                // console.log(res);
                // 渲染表格
                const htmlStr = template('trTpl', res);
                $('#tb').html(htmlStr);
                // 分页器
                layui.use('laypage', function () {
                    var laypage = layui.laypage;
                    //执行一个laypage实例
                    laypage.render({
                        elem: 'page', //注意，这里的 test1 是 ID，不用加 # 号
                        count: res.total, //数据总数，从服务端得到
                        limit: query.pagesize, // 每页显示的条数。
                        limits: [2, 3, 4, 5, 10], // 每页条数的选择项。
                        curr: query.pagenum, // 当前页码
                        layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], // 分页条布局效果
                        jump: function (obj, first) {
                            query.pagenum = obj.curr;
                            query.pagesize = obj.limit;
                            // 首次不执行
                            if (!first) {
                                loadUserList(query);
                            }
                        }
                    });

                });
            }
        })
    }

    loadUserList();

    // 给tbody注册事件委托，删除用户
    $('#tb').on('click', '#del', function () {
        const id = $(this).attr('data-id');
        layer.confirm('确认删除吗?', { icon: 3, title: '提示' }, function (index) {
            // 处理删除bug
            if ($('#del').length === 1) {
                if (query.pagenum === 1) {
                    query.pagenum === 1
                }
                else {
                    query.pagenum = query.pagenum - 1;
                }
            }
            $.ajax({
                url: 'admin/users/' + id,
                type: 'DELETE',
                success: function (res) {
                    console.log(res);
                    if (res.status === 0) {
                        layer.msg('删除用户成功！');
                        loadUserList();
                    }
                }
            })
            layer.close(index);
        });

    })


    // 表单验证,新旧密码不能相同
    form.verify({
        same: function (value, item) { //value：表单的值、item：表单的DOM对象
            if (value === $('#oldPwd').val()) {
                return '新旧密码不能相同!';
            }
        }
    })
    // 给tbody注册事件委托，弹出修改框修改密码
    $('#tb').on('click', '#resetPwd', function () {
        const id = $(this).attr('data-id');
        const index = layer.open({
            type: 1,
            title: '重置密码',
            content: $('#pfTpl').html(),
            area: ['500px', '250px']
        })
        // 确认修改
        $('#pwdForm').submit(function (e) {
            e.preventDefault();
            const str = $('#newPwd').val();
            $.ajax({
                url: 'admin/users/' + id,
                type: 'PUT',
                data: { password: str },
                success: function (res) {
                    // console.log(res);
                    layer.msg(res.message);
                    layer.close(index);
                }
            })
        })
    })

    // 编辑用户
    $('#tb').on('click', '#edit', function () {
        // 存储id
        const id = $(this).attr('data-id');
        sessionStorage.setItem('id', id);
        location.href = '/admin/user/edit.html';
    })

})
